<?php
/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
class Controller extends CController
{
	/**
	 * @var string the default layout for the controller view. Defaults to '//layouts/column1',
	 * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
	 */
	public $layout='//layouts/column2';
	/**
	 * @var array context menu items. This property will be assigned to {@link CMenu::items}.
	 */
	public $menu=array();
	/**
	 * @var array the breadcrumbs of the current page. The value of this property will
	 * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
	 * for more details on how to specify this property.
	 */
	public $breadcrumbs=array();
        
        
        public function filterAdminTheme($c) {
            $action = array('index', 'read', 'page', 'category', 'detail', 'contact',  'captcha');
            if (!Yii::app()->user->isGuest) {
                if (in_array(Yii::app()->controller->action->id, $action)) {
                    Yii::app()->theme = 'public';
                } else {
                    Yii::app()->theme = 'starter';
                }
            }
            $c->run();
        }

        public function filters() {
            return array(
                'accessControl',
                'adminTheme'
            );
        }

        public function accessRules() {
            return array(
                array('allow',
                    'actions' => array('tabular','generate','mapdetail', 'page', 'contact', 'login', 'captcha', 'category','logout','map'),
                    'users' => array('*'),
                ),
                array('allow',
                    'actions' =>array('index','detail','operator', 'update', 'view', 'read','create','getKabupaten','download'),
                    'users' => array('@'),
                ),
                array('allow',
                    'users' => array('admin'),
                ),
                array('deny',
                    'users' => array('*'),
                ),
            );
        }
}